package demo.day04

// Kotlin takeif 内置函数
// "欢迎登录超级系统，拥有超级权限"
fun main() {
    println(checkPermissionAction("Kiki", "123456"))
    println("<==========================>")
    println(checkPermissionAction("root", "!@#\$"))

    println("<==========================>")
    // 一般 大部分情况下 都是takeIf + 空合并操作符 一起使用
    println(checkPermissionAction2("Kiki", "123456"))
    println("<==========================>")
    println(checkPermissionAction2("root", "!@#\$"))
}

// 前端
private fun checkPermissionAction(name: String, pwd: String): String? {
    // 如果为true 返回name的值 如果是false 返回null
    return name.takeIf { permissionSystem(name, pwd) }
}

// 权限系统
private fun permissionSystem(name: String, pwd: String): Boolean {
    return if (name == "root" && pwd == "!@#$") true else false
}

// takeif +空合并操作符
private fun checkPermissionAction2(name: String, pwd: String): String {
    return name.takeIf { permissionSystem(name, pwd) } ?: "你的权限不够"
}